package de.tum.in.eist.poll.client;

import com.google.gwt.user.client.rpc.AsyncCallback;

import de.tum.in.eist.poll.client.Model.Feedback;
import de.tum.in.eist.poll.client.Model.Lecture;
import de.tum.in.eist.poll.client.Model.Rating;

public interface PollServiceAsync {
	
	public void checkCredentials(String user, String password, AsyncCallback<Boolean> callback);
	public void getLectures(AsyncCallback<Lecture[]> callback);
	public void getFeedbacks(Lecture l, AsyncCallback<Feedback[]> callback);
	public void getRatings(Lecture l, AsyncCallback<Rating[]> callback);
	public void pushFeedbackForLecture(Lecture l, Feedback f, AsyncCallback<Boolean> callback);
	public void addLecture(Lecture l,  AsyncCallback<Void> callback);
	public void deleteLecture(Lecture l, AsyncCallback<Void> callback);
	public void closeLecture(Lecture l, AsyncCallback<Void> callback);
	public void openLecture(Lecture l, AsyncCallback<Void> callback);
	public void getUpdate(AsyncCallback<Integer> callback);
}
